﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UniMana.Utils.Data;
using UniMana.Data;
using System.Data.Linq;
using UniMana.Utils.Controls;

namespace UniMana.Data
{
    public static class Training_SubjectClass_ScoreTypeData
    {
        /// <summary>
        /// Kiểm tra loại điểm của một lớp học phần có tồn tại hay không
        /// </summary>
        /// <param name="subjectClassKey">Mã lớp học phần</param>
        /// <param name="scoreTypeKey">Mã loại điểm</param>
        /// <returns></returns>
        public static  bool CheckDelete(this Table<Training_Score> tScore ,int subjectClassKey, int scoreTypeKey)
        {
            var count = from sc in tScore
                        where sc.Training_Subject_ClassKey == subjectClassKey
                        where sc.Training_ScoreTypeKey == scoreTypeKey
                        select sc;
            if (count.Count() > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// Kiểm tra loại điểm của một lớp học phần
        /// </summary>
        /// <param name="t1"></param>
        /// <param name="subjectClassKey">Key lớp học phần</param>
        /// <param name="scoreTypeKey">Key loại điểm</param>
        /// <returns></returns>
        public static bool Check(this Table<Training_SubjectClass_ScoreType> t1, int subjectClassKey, int scoreTypeKey)
        {
            var count = from sc in t1
                        where sc.Training_Subject_ClassKey == subjectClassKey
                        where sc.Training_ScoreTypeKey == scoreTypeKey
                        select sc;
            if (count.Count() > 0 )
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// Lấy thông tin loại điểm của một lớp học phần
        /// </summary>
        /// <param name="subjectClassKey">Mã lớp học phần</param>
        public static IQueryable GetInfoSubjectScoreType(this Table<Training_SubjectClass_ScoreType> t1,
                                                           Table<Training_ScoreType> t2, int subjectClassKey)
        {
            var ss = from s in t1
                     join ts in t2 on s.Training_ScoreTypeKey equals ts.Training_ScoreTypeKey
                     where s.Training_Subject_ClassKey == subjectClassKey
                     select new
                     {
                         s.Training_Subject_ClassKey,
                         s.Training_ScoreTypeKey,
                         ts.Name,
                         s.DefaultPercent,
                         s.Note
                     };
            return ss;
        }
        public static IQueryable GetList(this Table<Training_SubjectClass_ScoreType> tSubjectClassScoreType, int SubjectClassKey)
        {
            var l = from st in tSubjectClassScoreType
                    where st.Training_Subject_ClassKey == SubjectClassKey
                    select st;
            return l;
        }
       
    }
}
